

********************************************************************************
* Figure 2: Yield Decomposition of the FOMC Decline
********************************************************************************

*********************************
* (A) 5y Treasury
*********************************

use "../data/final_data_fed_secular_decline.dta", clear

keep if date >= mdy(6,1,1989)
drop if date >= mdy(7,1,2021)

local x "sveny05_chg"

sort date
generate FOMC_change  = `x'  if  !missing(fomc_meet[_n+1]) | !missing(fomc_meet) | !missing(fomc_meet[_n-1])

gen cum_`x'			= sum(`x')
gen cum_FOMC_change = sum(FOMC_change)

line cum_`x' cum_FOMC_change date, ///
scheme(s1mono) lcolor(gs6 red) ///
xlabel(, format(%tdCCYY)) ///
ylabel(, angle(horizontal)) ///
ytitle("Cumulative yield change (%)") ///
xtitle("") ///
legend(cols(1) pos(2) ring(0) symxsize(*0.5) ///
label(1 "5y Treasury yield") label(2 "5y Treasury yield change around FOMC meetings") )	
graph export "../figures/figure2a.png", replace	


*********************************
* (B) 5y5y Treasury
*********************************
	
use "../data/final_data_fed_secular_decline", clear

keep if date >= mdy(6,1,1989)
drop if date >= mdy(7,1,2021)
tab fomc

local x "fwd5y5y_chg"

sort date
generate FOMC_change  = `x'  if  !missing(fomc_meet[_n+1]) | !missing(fomc_meet) | !missing(fomc_meet[_n-1])

gen cum_`x'			= sum(`x')
gen cum_FOMC_change = sum(FOMC_change)

line cum_`x' cum_FOMC_change date, ///
scheme(s1mono) lcolor(gs6 red) ///
xlabel(, format(%tdCCYY)) ///
ylabel(, angle(horizontal)) ///
ytitle("Cumulative yield change (%)") ///
xtitle("") ///
legend(cols(1) pos(2) ring(0) symxsize(*0.5) ///
label(1 "5y5y Treasury forward rate") label(2 "5y5y Treasury forward rate change around FOMC meetings") )
graph export "../figures/figure2b.png", replace	


*********************************
* (C) 10y TIPS
*********************************

use "../data/final_data_fed_secular_decline", clear

keep if date >= mdy(1,4,1999)
drop if date >= mdy(7,1,2021)

local x "tipsy10_chg"
	
sort date
generate FOMC_change  = `x'  if  !missing(fomc_meet[_n+1]) | !missing(fomc_meet) | !missing(fomc_meet[_n-1])

gen cum_`x'			= sum(`x')
gen cum_FOMC_change = sum(FOMC_change)

line cum_`x' cum_FOMC_change date, ///
scheme(s1mono) lcolor(gs6 red) ///
xlabel(, format(%tdCCYY)) ///
ylabel(, angle(horizontal)) ///
ytitle("Cumulative yield change (%)") ///
xtitle("") ///
legend(cols(1) symxsize(*0.5) ///
label(1 "10y TIPS yield") label(2 "10y TIPS yield change around FOMC meetings") )	
graph export "../figures/figure2c.png", replace
	

*********************************
* 10y Breakeven
*********************************

use "../data/final_data_fed_secular_decline", clear

keep if date >= mdy(1,4,1999)
drop if date >= mdy(7,1,2021)
tab fomc

local x "bkeven10_chg"

sort date
generate FOMC_change  = `x'  if  !missing(fomc_meet[_n+1]) | !missing(fomc_meet) | !missing(fomc_meet[_n-1])

gen cum_`x'			= sum(`x')
gen cum_FOMC_change = sum(FOMC_change)

line cum_`x' cum_FOMC_change date, ///
scheme(s1mono) lcolor(gs6 red) ///
xlabel(, format(%tdCCYY)) ///
ylabel(-2(1)3, angle(horizontal)) ///
ytitle("Cumulative yield change (%)") ///
xtitle("") ///
legend(cols(1) symxsize(*0.5) ///
label(1 "10y Breakeven yield") label(2 "10y Breakeven yield change around FOMC meetings") )	
graph export "../figures/figure2d.png", replace		







	
	